home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Draw / CExplodeBMD.as < prev    next >
Text File  |  2011-08-19  |  6KB  |  202 lines

  1. package Local.Draw
  2. {
  3.    import STC9.System.CProfiler;
  4.    import flash.display.BitmapData;
  5.    import flash.geom.Matrix;
  6.    import flash.geom.Point;
  7.    import flash.geom.Rectangle;
  8.    
  9.    public class CExplodeBMD
  10.    {
  11.        
  12.       
  13.       private var mParticles:Object;
  14.       
  15.       public function CExplodeBMD(param1:Point)
  16.       {
  17.          super();
  18.          mParticles = new Object();
  19.          CExplodeBMDParticle.mWorldPosition = param1;
  20.       }
  21.       
  22.       public function CreatePoints(param1:BitmapData) : Array
  23.       {
  24.          var _loc2_:Number = NaN;
  25.          var _loc3_:Number = NaN;
  26.          var _loc4_:Number = NaN;
  27.          var _loc5_:Number = NaN;
  28.          var _loc6_:* = NaN;
  29.          var _loc7_:Number = NaN;
  30.          var _loc8_:Array = null;
  31.          var _loc9_:int = 0;
  32.          var _loc10_:int = 0;
  33.          var _loc11_:Array = null;
  34.          _loc2_ = Math.ceil(param1.width / CExplodeBMDParticle.mParticleSize);
  35.          _loc3_ = Math.ceil(param1.height / CExplodeBMDParticle.mParticleSize);
  36.          _loc4_ = param1.width / _loc2_;
  37.          _loc5_ = param1.height / _loc3_;
  38.          _loc11_ = new Array();
  39.          _loc7_ = 0;
  40.          _loc10_ = _loc3_;
  41.          while(_loc10_ >= 0)
  42.          {
  43.             _loc11_.push(_loc8_ = new Array());
  44.             if(false)
  45.             {
  46.                continue;
  47.             }
  48.             ┬º┬ºpush(Number(0));
  49.             if(true)
  50.             {
  51.                _loc6_ = ┬º┬ºpop();
  52.                if(true)
  53.                {
  54.                   ┬º┬ºpush(_loc2_);
  55.                   if(true)
  56.                   {
  57.                      _loc9_ = ┬º┬ºpop();
  58.                      if(true)
  59.                      {
  60.                         while(true)
  61.                         {
  62.                            if(_loc9_ >= 0)
  63.                            {
  64.                               _loc8_.push(new Point(Math.floor(_loc6_),Math.floor(_loc7_)));
  65.                               if(true)
  66.                               {
  67.                                  ┬º┬ºpush(_loc6_);
  68.                                  if(false)
  69.                                  {
  70.                                     break;
  71.                                  }
  72.                                  ┬º┬ºpush(┬º┬ºpop() + _loc4_);
  73.                                  if(true)
  74.                                  {
  75.                                     ┬º┬ºpush(Number(┬º┬ºpop()));
  76.                                  }
  77.                                  _loc6_ = ┬º┬ºpop();
  78.                                  _loc9_--;
  79.                               }
  80.                               continue;
  81.                            }
  82.                         }
  83.                         addr139:
  84.                         _loc7_ = ┬º┬ºpop() + _loc5_;
  85.                         addr140:
  86.                         _loc10_--;
  87.                         continue;
  88.                         addr136:
  89.                         addr138:
  90.                      }
  91.                      ┬º┬ºgoto(addr136);
  92.                      ┬º┬ºpush(_loc7_);
  93.                   }
  94.                   ┬º┬ºgoto(addr138);
  95.                }
  96.                ┬º┬ºgoto(addr140);
  97.             }
  98.             ┬º┬ºgoto(addr139);
  99.          }
  100.          return _loc11_;
  101.       }
  102.       
  103.       public function AddBMD(param1:BitmapData, param2:Matrix, param3:Point = null, param4:Number = 15) : *
  104.       {
  105.          if(true)
  106.          {
  107.             CProfiler.StartProfile("CExplodeBMD.AddBMD");
  108.             if(true)
  109.             {
  110.                CExplodeBMDParticle.mParticleSize = param4;
  111.                CreateParticles(param1,CreatePoints(param1),param2,param3);
  112.             }
  113.             CProfiler.StopProfile("CExplodeBMD.AddBMD");
  114.          }
  115.       }
  116.       
  117.       public function CreateParticles(param1:BitmapData, param2:Array, param3:Matrix, param4:Point) : void
  118.       {
  119.          var _loc5_:int = 0;
  120.          var _loc6_:int = 0;
  121.          var _loc7_:int = 0;
  122.          var _loc8_:Point = null;
  123.          var _loc9_:Point = null;
  124.          var _loc10_:CExplodeBMDParticle = null;
  125.          _loc5_ = 0;
  126.          while(_loc5_ < param2.length - 1)
  127.          {
  128.             _loc6_ = 0;
  129.             _loc7_ = param2[_loc5_].length - 1;
  130.             while(_loc6_ < _loc7_)
  131.             {
  132.                _loc8_ = param2[_loc5_][_loc6_];
  133.                _loc9_ = param2[_loc5_ + 1][_loc6_ + 1];
  134.                if(!(_loc10_ = new CExplodeBMDParticle(param1,new Rectangle(_loc8_.x,_loc8_.y,_loc9_.x - _loc8_.x,_loc9_.y - _loc8_.y),param3,param4)).mInvalid)
  135.                {
  136.                   if(false)
  137.                   {
  138.                      continue;
  139.                   }
  140.                   mParticles[_loc10_.mID] = _loc10_;
  141.                }
  142.                _loc6_++;
  143.             }
  144.             _loc5_++;
  145.          }
  146.       }
  147.       
  148.       public function Process() : void
  149.       {
  150.          var _loc1_:* = 0;
  151.          var _loc2_:CExplodeBMDParticle = null;
  152.          if(true)
  153.          {
  154.             CProfiler.StartProfile("CExplodeBMD.Process");
  155.             ┬º┬ºpush(0);
  156.             if(true)
  157.             {
  158.                _loc1_ = ┬º┬ºpop();
  159.                addr23:
  160.                ┬º┬ºpush(0);
  161.             }
  162.             for each(_loc2_ in mParticles)
  163.             {
  164.                _loc1_++;
  165.                if(!_loc2_.Process())
  166.                {
  167.                   _loc2_.Dispose();
  168.                   delete mParticles[_loc2_.mID];
  169.                }
  170.             }
  171.             if(true)
  172.             {
  173.                CProfiler.AddDebug("CExplodeBMD.Count",String(_loc1_));
  174.                CProfiler.StopProfile("CExplodeBMD.Process");
  175.             }
  176.             return;
  177.          }
  178.          ┬º┬ºgoto(addr23);
  179.       }
  180.       
  181.       public function Render(param1:BitmapData) : void
  182.       {
  183.          var _loc2_:CExplodeBMDParticle = null;
  184.          if(true)
  185.          {
  186.             CProfiler.StartProfile("CExplodeBMD.Render");
  187.          }
  188.          for each(_loc2_ in mParticles)
  189.          {
  190.             if(true)
  191.             {
  192.                _loc2_.Render(param1);
  193.             }
  194.          }
  195.          if(true)
  196.          {
  197.             CProfiler.StopProfile("CExplodeBMD.Render");
  198.          }
  199.       }
  200.    }
  201. }
  202.